1. The Field of the Invention
The present invention relates to indexes for multimedia content. More specifically, the present invention relates to adding an arbitrary index to multimedia content such that the arbitrary index is capable of coexisting with one or more other arbitrary indexes.
2. Background and Related Art
Traditionally, indexing of multimedia content has been either time-based or frame-based. In other words, access to multimedia content (other than sequential access) requires specifying a particular time offset (e.g., 5 minutes and 18 seconds) or specifying a particular frame offset (e.g., frame 302010). With respect to content for which compression is linear, such as audio content, time offsets essentially correspond to byte offsets within the content, and therefore the content may appear to be indexed, when in fact it is not—seeking to a particular time offset is simply a matter of seeking to the corresponding byte offset within the content. Compression for other content, such as video content, is nonlinear, and therefore seeking to a particular time offset usually requires a time index that maps either directly to a byte offset within a file or indirectly to a byte offset through a frame index that maps directly to a byte offset.
One of the problems with traditional multimedia indexes is their lack of flexibility. Generally these indexes are produced by the content author and may not be subsequently altered or extended. In some cases, the indexing also may be linked to the layout or physical storage of the multimedia content on a medium. For example, DVDs often allow for navigation by scene. This navigation, however, is based on the multimedia content being divided into chapters on the DVD (each scene is a separate chapter). As a result, it would not be possible for a consumer to alter the DVD's scene navigation, by adding, deleting, or combining scenes. Other traditional indexes are stored in a file header and therefore are limited in size. When the index needs to expand, the multimedia content must be shifted down in the file, which in this context, may be prohibitive, given that the size of multimedia data often is measured in gigabytes.
Traditional indexes also tend to be brittle. For instance, returning to the DVD example above, a content author could alter the scene navigation, but in doing so, the original navigation is no longer possible. Because the scene indexing is based on chapter divisions, it is not possible for two different scene navigations to coexist on the same medium. Of course, altering scene navigation for a DVD would not be possible for anyone other than the DVD zauthor.
Similar indexing problems arise in other multimedia contexts. For example, the increasing popularity of personal video recorders (PVRs) offers an opportunity for a number of desirable indexing scenarios. PVRs generally are used to record multimedia content that is broadcast over a cable network, a satellite network, or publicly accessible frequency bands. Examples of desirable indexes might include an index for scene changes, voice changes, commercials, MPEG video frames (I, P, and B), viewer-defined events (e.g., favorite scenes, etc.), content protection information, and so forth. Traditional multimedia indexing schemes, however, lack the ability to generate arbitrary indexes that can coexist and not interfere or collide with each other. This is particularly so, where different indexes of the same type are present (e.g., scene changes, favorite scenes, favorite scenes of different consumers or users, etc.).
Accordingly, methods, systems, and computer program products are desired for arbitrarily indexing multimedia content such that the arbitrary indexes are capable of coexisting with each other.